Skip to content

[codex] Improve local music self-analytics dashboard#10

Merged
karnaksp merged 2 commits into
mainfrom
codex/dashboard-insights
Jun 17, 2026
Merged

[codex] Improve local music self-analytics dashboard#10
karnaksp merged 2 commits into
mainfrom
codex/dashboard-insights

Conversation

@karnaksp

Copy link
Copy Markdown
Owner

What changed

  • Reworked the Streamlit dashboard into an insight-first local Yandex Music self-analytics product.
  • Added a useful Focus controls sidebar with quick lenses, genre/liked/search/year/repeat/playlist-coverage filters.
  • Added chart-first screens: Story, Taste Map, Mix Shift, Rediscovery, Playlists, Explorer, Actions, and Data Quality.
  • Reduced visible tables by moving exact rows into audit expanders while keeping source-backed data available.
  • Added token-help and real-compose smoke improvements from the local Yandex Music flow.

Why

The previous dashboard read like a BI table dump. This makes it more useful as a personal music analytics product: discovery backlog, genre shifts, release-era mix, artist affinity, repeat signals, playlist health, and cleanup candidates are visible without digging through tables.

Validation

  • python -m compileall -q dashboard scripts tests
  • python scripts/smoke_dashboard_content.py
  • python scripts/smoke_dashboard.py
  • python scripts/validate_yamusic_local.py
  • PYTHONPATH=. pytest tests/test_dashboard_actions.py tests/test_dashboard_filters.py tests/test_yamusic_ingest.py -q
  • make product-answers-smoke
  • Browser QA on http://localhost:8501 for expanded filters, Story, Mix Shift, Playlists, and horizontal overflow.

Notes

  • Uses only Yandex Music metadata; no audio is downloaded or stored.
  • Data Analytics/Product Design saved plugin contexts are not configured, so local DuckDB remains the source of truth for this implementation.

@karnaksp karnaksp marked this pull request as ready for review June 17, 2026 18:15
@karnaksp karnaksp merged commit c1ea90e into main Jun 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant